gdk_region_get_clipbox() lets you get a rectangle around the region.
authorElliot Lee <sopwith@src.gnome.org>
Tue, 19 May 1998 16:17:00 +0000 (16:17 +0000)
committerElliot Lee <sopwith@src.gnome.org>
Tue, 19 May 1998 16:17:00 +0000 (16:17 +0000)
gdk_region_get_clipbox() lets you get a rectangle around the region.

gdk/gdk.h
gdk/gdkregion.c
gdk/x11/gdkregion-x11.c

index 092226d8b3b47829e50b0ab39e903719915be1d3..e80c838b989b243cee0250784937484f03c07e46 100644 (file)
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -770,6 +770,9 @@ guchar               gdk_color_context_get_index_from_palette (GdkColorContext *cc,
 GdkRegion*     gdk_region_new      (void);
 void          gdk_region_destroy   (GdkRegion     *region);
 
+void          gdk_region_get_clipbox(GdkRegion    *region,
+                                     GdkRectangle *rectangle);
+
 gboolean       gdk_region_empty            (GdkRegion     *region);
 gboolean       gdk_region_equal            (GdkRegion     *region1,
                                     GdkRegion     *region2);
index 4b5c1c866ce12879e3b0563bb288db93009946ae..19b921d03374e31324afa7fe3131c4a98886c87d 100644 (file)
@@ -82,6 +82,25 @@ gdk_region_equal (GdkRegion      *region1,
   return XEqualRegion (private1->xregion, private2->xregion);
 }
 
+void
+gdk_region_get_clipbox(GdkRegion    *region,
+                      GdkRectangle *rectangle)
+{
+       GdkRegionPrivate *rp;
+       XRectangle r;
+
+       g_return_if_fail(region != NULL);
+       g_return_if_fail(rectangle != NULL);
+
+       rp = (GdkRegionPrivate *)region;
+       XClipBox(rp->xregion, &r);
+
+       rectangle->x = r.x;
+       rectangle->y = r.y;     
+       rectangle->width = r.width;
+       rectangle->height = r.height;
+}
+
 gboolean
 gdk_region_point_in (GdkRegion      *region,
                      gint           x,
index 4b5c1c866ce12879e3b0563bb288db93009946ae..19b921d03374e31324afa7fe3131c4a98886c87d 100644 (file)
@@ -82,6 +82,25 @@ gdk_region_equal (GdkRegion      *region1,
   return XEqualRegion (private1->xregion, private2->xregion);
 }
 
+void
+gdk_region_get_clipbox(GdkRegion    *region,
+                      GdkRectangle *rectangle)
+{
+       GdkRegionPrivate *rp;
+       XRectangle r;
+
+       g_return_if_fail(region != NULL);
+       g_return_if_fail(rectangle != NULL);
+
+       rp = (GdkRegionPrivate *)region;
+       XClipBox(rp->xregion, &r);
+
+       rectangle->x = r.x;
+       rectangle->y = r.y;     
+       rectangle->width = r.width;
+       rectangle->height = r.height;
+}
+
 gboolean
 gdk_region_point_in (GdkRegion      *region,
                      gint           x,